package javase2.day05.demo03;

import javase2.day05.demo02.RegisterException;

import java.util.Scanner;

/*
要求：模拟用户注册操作，如果用户已经存在，则抛出异常提示：对不起，该用户名已被注册
分析：
    1.使用数组保存已经注册的用户名
    2.使用Scanner获取用户输入的用户名
    3.定义方法对用户输入的用户名进行判断
        遍历数组中已经注册的用户名和用户输入的用户名进行比较
            true：
                该用户已被注册，抛出异常RegisterException，告知用户：对不起，该用户名已被注册
            false:
                继续遍历比较
        如果循环遍历结束，也没有抛出异常，提示用户：恭喜您，注册成功

 */
public class RegisterExceptionDemo1 /*extends Exception*/{
    //使用数组保存已经注册的用户名
    static String[] name={"张三","李四","王五"};

    public static void main(String[] args) /*throws RegisterException*/ {
        //使用Scanner获取用户输入的用户名
        Scanner scannerName = new Scanner(System.in);
        System.out.println("请输入你要注册的用户名");
        String scName = scannerName.next();
        checkName(scName);

    }

    //义方法对用户输入的用户名进行判断
    public static void checkName(String e) /*throws RegisterException*/ {
        //遍历数组中已经注册的用户名
        for (String name: name){
            //用户输入的用户名进行比较
            if (name.equals(e)){
                //true该用户已被注册，抛出异常RegisterException，告知用户：对不起，该用户名已被注册
                try {
                    throw new RegisterException("对不起，该用户已经被注册");
                } catch (RegisterException e1) {
                    e1.printStackTrace();
                    //结束方法
                    return;
                }
            }
        }
        //如果循环遍历结束，也没有抛出异常，提示用户：恭喜您，注册成功
        System.out.println("恭喜您，注册成功");
    }

}
